Dart Future ignore
这个方法允许您安全地忽略该 Future
及其结果或错误。即使 Future
包含错误,使用 ignore
方法也不会导致未捕获的异步错误。
适用场景:当您觉得 Future
的结果或错误对程序不再重要时,应使用该方法。
注意事项:
- 该方法自 Dart 2.14 版本开始可用。
- 与简单地忽略
Future
不同,这个方法会安全地处理和忽略来自这个Future
的任何值或错误。
实现代码:
@Since("2.14")
void ignore() {
var self = this;
if (self is _Future<T>) {
self._ignore();
} else {
self.then<void>(_ignore, onError: _ignore);
}
}
用法
Future<int> unimportantFuture = someAsyncFunction();
unimportantFuture.ignore();
替代方案
如果你只想消除 "未等待的 Futures" 警告,可以使用 [unawaited] 函数。这将确保意外的错误仍然会被报告。
这句话意味着如果你的目的只是消除编译器或代码检查工具给出的 "未等待的 Futures" 警告,而并非完全忽略 Future
的结果或错误,你可以使用 unawaited
函数。使用 unawaited
函数不会阻止 Future
中的错误被系统捕获并报告,从而确保你不会无视可能的问题。
简单来说,unawaited
用于屏蔽警告,但仍允许错误被报告;而 ignore
方法是用于完全忽略 Future
的所有结果和错误。
本文作者:Maeiee
本文链接:Dart Future ignore
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!